Intelligent assistance systems have received broad attention due to the demand of end users who simply do not want to follow too many pre-defined specific steps to get their tasks done. These users also do not want to find solutions and then have to organize the solutions into a total solution for resolution of their problems. Examples of such assistance systems include trip planning, schedule management, airline reservation, parking spot procurement, gas station search, or restaurant reservation systems. Variations of intelligent assistance systems have been developed, however, the likelihood of a single intelligent system being able to solve all these problems perfectly in the near future is low. Each of the variations typically has its own focused areas and special features. For example, context-aware query services can include features directed to specific application such as Address Book, Calendar, Music, and Web search.
Intelligent assistance systems can be implemented with a wide range of hardware and software platforms including, but not limited to, mobile electronic devices, such as smartphones, tablets, other portable computers, and information and entertainment systems, which are integrated with automotive vehicles, public kiosks, such as kiosks found in hotels and airports, and through any appropriate computing device that is connected to the Internet. Some information assistance systems rely on externally stored data and/or processing to perform a task. For example, some online information assistance services provide an interface using a smartphone, but one or more remote server devices store data and perform processing to generate the results for a query that is submitted to the service. The remote servers are sometimes referred to as a “cloud” service because the data and processing for the information assistance system is implemented, at least partially, by remote computing devices that are not under the direct control of the end user.
One example of an existing intelligent assistance system uses personal route knowledge to adapt navigation instructions so that the drivers are overwhelmed by the navigation device when driving on familiar routes. This personalization, however, is mostly focused on navigation instruction application. Other existing intelligent assistance systems include multi-modal interaction systems that enable users to draw gestures to specify regions/areas for search purposes.
While existing intelligent assistance systems can provide valuable services, the existing intelligent assistance systems are typically configured to provide a limited number of services under the discretion of a single service provider. The existing services do not provide a configurable and modular architecture to enable new service providers and forms of intelligent assistance to be provided to end users with minimal configuration. Existing intelligent assistance systems can only be used individually and do not integrate with other intelligent assistance systems, which means that an end user must either use only one intelligent assistance system or learn disparate user interfaces and switch between different intelligent assistance systems in order to receive assistance for different tasks. Thus, an improved intelligent assistance architecture, which enables efficient deployment of new intelligent assistance functions and provides end users with a unified interface via natural modalities such as speech and gesture for using the intelligent assistance services, is desirable.